package cn.com.hd.mall.web.webservices.entity.response.merch;

import java.io.Serializable;
import java.util.List;

import cn.com.hd.mall.web.common.Tuple;
import cn.com.hd.mall.web.webservices.entity.BaseResponse;

/**
 * 商品种类的返回体
 *
 * @author ZeRur
 */

@SuppressWarnings("serial")
public class MerchCategoryListResponse extends BaseResponse {
    /**
     * 类目标志
     */
    private String categoryCode;

    /**
     * 类目模型
     */
    private Object categoryItem;

    public String getCategoryCode() {
        return categoryCode;
    }

    public void setCategoryCode(String categoryCode) {
        this.categoryCode = categoryCode;
    }

    public Object getCategoryItem() {
        return categoryItem;
    }

    public void setCategoryItem(Object categoryItem) {
        this.categoryItem = categoryItem;
    }

    @Override
    public String toString() {
        return "MerchCategoryListResponse{" +
                "categoryCode='" + categoryCode + '\'' +
                ", categoryItem=" + categoryItem +
                '}';
    }

    /**
     * 茶类目模型
     */
    public static class TeaCategoryItem implements Serializable {
        private Tuple<String, String> categoryTuple;
        private List<Tuple<String, String>> propertyTupleList;
        private List<Tuple<String, String>> brandTupleList;

        public Tuple<String, String> getCategoryTuple() {
            return categoryTuple;
        }

        public void setCategoryTuple(Tuple<String, String> categoryTuple) {
            this.categoryTuple = categoryTuple;
        }

        public List<Tuple<String, String>> getPropertyTupleList() {
            return propertyTupleList;
        }

        public void setPropertyTupleList(List<Tuple<String, String>> propertyTupleList) {
            this.propertyTupleList = propertyTupleList;
        }

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        @Override
        public String toString() {
            return "TeaCategoryItem{" +
                    "categoryTuple=" + categoryTuple +
                    ", propertyTupleList=" + propertyTupleList +
                    ", brandTupleList=" + brandTupleList +
                    '}';
        }
    }

    /**
     * 白酒类目模型
     */
    public static class SpiritCategoryItem implements Serializable {
        private List<Tuple<String, String>> brandTupleList;  //品牌
        private List<Tuple<String, String>> odorTupleList;  //香型

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        public List<Tuple<String, String>> getOdorTupleList() {
            return odorTupleList;
        }

        public void setOdorTupleList(List<Tuple<String, String>> odorTupleList) {
            this.odorTupleList = odorTupleList;
        }

        @Override
        public String toString() {
            return "SpiritCategoryItem{" +
                    "brandTupleList=" + brandTupleList +
                    ", odorTupleList=" + odorTupleList +
                    '}';
        }
    }

    /**
     * 葡萄酒类目模型
     */
    public static class WineCategoryItem implements Serializable {
        private List<Tuple<String, String>> brandTupleList;   //品牌
        private List<Tuple<String, String>> productionTupleList;  //产地

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        public List<Tuple<String, String>> getProductionTupleList() {
            return productionTupleList;
        }

        public void setProductionTupleList(List<Tuple<String, String>> productionTupleList) {
            this.productionTupleList = productionTupleList;
        }

        @Override
        public String toString() {
            return "WineCategoryItem{" +
                    "brandTupleList=" + brandTupleList +
                    ", productionTupleList=" + productionTupleList +
                    '}';
        }
    }

    /**
     * 洋酒类目模型
     */
    public static class ForeignWineCategoryItem implements Serializable {
        private List<Tuple<String, String>> classifyTupleList;  //分类
        private List<Tuple<String, String>> brandTupleList;  //品牌
        private List<Tuple<String, String>> countryTupleList;  //国家

        public List<Tuple<String, String>> getClassifyTupleList() {
            return classifyTupleList;
        }

        public void setClassifyTupleList(List<Tuple<String, String>> classifyTupleList) {
            this.classifyTupleList = classifyTupleList;
        }

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        public List<Tuple<String, String>> getCountryTupleList() {
            return countryTupleList;
        }

        public void setCountryTupleList(List<Tuple<String, String>> countryTupleList) {
            this.countryTupleList = countryTupleList;
        }

        @Override
        public String toString() {
            return "ForeignWineCategoryItem{" +
                    "classifyTupleList=" + classifyTupleList +
                    ", brandTupleList=" + brandTupleList +
                    ", countryTupleList=" + countryTupleList +
                    '}';
        }
    }

    /**
     * 啤酒类目模型
     */
    public static class BeerCategoryItem implements Serializable {
        private List<Tuple<String, String>> classifyTupleList;  //分类
        private List<Tuple<String, String>> brandTupleList;  //品牌
        private List<Tuple<String, String>> countryTupleList;  //国家

        public List<Tuple<String, String>> getClassifyTupleList() {
            return classifyTupleList;
        }

        public void setClassifyTupleList(List<Tuple<String, String>> classifyTupleList) {
            this.classifyTupleList = classifyTupleList;
        }

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        public List<Tuple<String, String>> getCountryTupleList() {
            return countryTupleList;
        }

        public void setCountryTupleList(List<Tuple<String, String>> countryTupleList) {
            this.countryTupleList = countryTupleList;
        }

        @Override
        public String toString() {
            return "BeerCategoryItem{" +
                    "classifyTupleList=" + classifyTupleList +
                    ", brandTupleList=" + brandTupleList +
                    ", countryTupleList=" + countryTupleList +
                    '}';
        }
    }

    /**
     * 粮油类目模型
     */
    public static class GrainCategoryItem implements Serializable {
        private List<Tuple<String, String>> categoryTupleList;  //分类
        private List<Tuple<String, String>> brandTupleList;  //品牌

        public List<Tuple<String, String>> getCategoryTupleList() {
            return categoryTupleList;
        }

        public void setCategoryTupleList(List<Tuple<String, String>> classifyTupleList) {
            this.categoryTupleList = classifyTupleList;
        }

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        @Override
        public String toString() {
            return "GrainCategoryItem{" +
                    "categoryTupleList=" + categoryTupleList +
                    ", brandTupleList=" + brandTupleList +
                    '}';
        }
    }

    /**
     * 副食类目模型
     */
    public static class NonStapleCategoryItem implements Serializable {
        private List<Tuple<String, String>> categoryTupleList;  //分类
        private List<Tuple<String, String>> brandTupleList;  //品牌

        public List<Tuple<String, String>> getCategoryTupleList() {
            return categoryTupleList;
        }

        public void setCategoryTupleList(List<Tuple<String, String>> classifyTupleList) {
            this.categoryTupleList = classifyTupleList;
        }

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        @Override
        public String toString() {
            return "NonStapleCategoryItem{" +
                    "categoryTupleList=" + categoryTupleList +
                    ", brandTupleList=" + brandTupleList +
                    '}';
        }
    }

    /**
     * 饮料类目模型
     */
    public static class DrinksCategoryItem implements Serializable {
        private List<Tuple<String, String>> categoryTupleList;  //分类
        private List<Tuple<String, String>> brandTupleList;  //品牌

        public List<Tuple<String, String>> getCategoryTupleList() {
            return categoryTupleList;
        }

        public void setCategoryTupleListt(List<Tuple<String, String>> classifyTupleList) {
            this.categoryTupleList = classifyTupleList;
        }

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        @Override
        public String toString() {
            return "DrinksCategoryItem{" +
                    "categoryTupleList=" + categoryTupleList +
                    ", brandTupleList=" + brandTupleList +
                    '}';
        }
    }

    /**
     * 日化用品类目模型
     */
    public static class DailyUsedCategoryItem implements Serializable {
        private List<Tuple<String, String>> categoryTupleList;  //分类
        private List<Tuple<String, String>> brandTupleList;  //品牌

        public List<Tuple<String, String>> getCategoryTupleList() {
            return categoryTupleList;
        }

        public void setCategoryTupleList(List<Tuple<String, String>> classifyTupleList) {
            this.categoryTupleList = classifyTupleList;
        }

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        @Override
        public String toString() {
            return "DailyUsedCategoryItem{" +
                    "categoryTupleList=" + categoryTupleList +
                    ", brandTupleList=" + brandTupleList +
                    '}';
        }
    }

    /**
     * 五金类目模型
     */
    public static class HardwareCategoryItem implements Serializable {
        private List<Tuple<String, String>> categoryTupleList;  //分类
        private List<Tuple<String, String>> brandTupleList;  //品牌

        public List<Tuple<String, String>> getCategoryTupleList() {
            return categoryTupleList;
        }

        public void setCategoryTupleList(List<Tuple<String, String>> classifyTupleList) {
            this.categoryTupleList = classifyTupleList;
        }

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        @Override
        public String toString() {
            return "HardwareCategoryItem{" +
                    "categoryTupleList=" + categoryTupleList +
                    ", brandTupleList=" + brandTupleList +
                    '}';
        }
    }

    /**
     * 家电类目模型
     */
    public static class ElectricCategoryItem implements Serializable {
        private List<Tuple<String, String>> categoryTupleList;  //分类
        private List<Tuple<String, String>> brandTupleList;  //品牌

        public List<Tuple<String, String>> getCategoryTupleList() {
            return categoryTupleList;
        }

        public void setCategoryTupleList(List<Tuple<String, String>> classifyTupleList) {
            this.categoryTupleList = classifyTupleList;
        }

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        @Override
        public String toString() {
            return "ElectricCategoryItem{" +
                    "categoryTupleList=" + categoryTupleList +
                    ", brandTupleList=" + brandTupleList +
                    '}';
        }
    }

    /**
     * 其它类目模型
     */
    public static class OthersCategoryItem implements Serializable {
        private List<Tuple<String, String>> categoryTupleList;  //分类
        private List<Tuple<String, String>> brandTupleList;  //品牌

        public List<Tuple<String, String>> getCategoryTupleList() {
            return categoryTupleList;
        }

        public void setCategoryTupleList(List<Tuple<String, String>> classifyTupleList) {
            this.categoryTupleList = classifyTupleList;
        }

        public List<Tuple<String, String>> getBrandTupleList() {
            return brandTupleList;
        }

        public void setBrandTupleList(List<Tuple<String, String>> brandTupleList) {
            this.brandTupleList = brandTupleList;
        }

        @Override
        public String toString() {
            return "OthersCategoryItem{" +
                    "categoryTupleList=" + categoryTupleList +
                    ", brandTupleList=" + brandTupleList +
                    '}';
        }
    }
}
